草庐IT

javascript - 非递归 JavaScript JSON 解析器

全部标签

Ruby:如何递归查找和删除空目录?

我正在尝试编写一些ruby​​,它会递归地在给定目录中搜​​索所有空子目录并将其删除。想法?注意:如果可能的话,我想要一个脚本版本。这既是实际需要,也是对我学习的帮助。 最佳答案 在ruby中:Dir['**/*']\.select{|d|File.directory?d}\.select{|d|(Dir.entries(d)-%w[...]).empty?}\.each{|d|Dir.rmdird} 关于Ruby:如何递归查找和删除空目录?,我们在StackOverflow上找到一个类

ruby - 如何使用 ActiveSupport 3 (Rails) 解析带有不带引号键的无效 JSON

我需要在Ruby中解析某些无效的JSON。类似于:json_str='{name:"Javier"}'ActiveSupport::JSON.decodejson_str如你所见,它是无效的,因为哈希键没有被引用,它应该是json_str='{"name":"Javier"}'但这无法更改,我必须解析未加引号的键。我可以用ActiveSupport2.x解析它,但ActiveSupport3不允许。它抛出我:Yajl::ParseError:lexicalerror:invalidstringinjsontext.{name:"Javier"}(righthere)------^顺便说

Ruby 堆栈级别太深异常不是来自递归无限循环

编辑:(已解决)实际上它可能是因为无限循环而引发的我正在编码,在添加一个方法后我得到了这个:user_name@the_computer:/media/ECC3-C3B0/Prog/mts/src/mts$raketest--trace**Invoketest(first_time)**Executetest/home/user_name/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:stackleveltoodeep(SystemStackError)rakeabo

ruby - 是否有类似于 Nokogiri 的东西来解析 Ruby 代码?

Nokogiri很棒。我可以做#css('.bla')这样的事情,它会返回第一个匹配的元素。现在我们需要对Ruby源代码进行一些解析-查找类中的所有方法等。我们正在使用ruby_parsergem,但它所做的只是梳理你的源代码并吐出S表达式。对于这些S表达式,是否有类似Nokogiri的东西可以执行诸如“为找到的名为‘foo’的第一个方法返回S表达式”之类的事情? 最佳答案 我唯一能想到的是AdamSanderson'sSExpPathlibrary. 关于ruby-是否有类似于Noko

ruby - 为什么这个递归不是无限的?

我和我的friend们正在做一些基本的Ruby练习来感受这门语言,我们遇到了一个我们还无法理解的有趣行为。基本上,我们正在创建一个tree只有一个类的数据类型,node,它只包含一个值和一个包含零个或多个nodes的数组.我们正在使用rspec的autospec测试运行程序。有一次,我们开始编写测试以禁止无限递归(循环树结构)。这是我们的测试:it"breaksonacircularreference,whichwewillfixlater"dotree1=Node.new1tree2=Node.new1tree2.add_childtree1tree1.add_childtree2(

ruby - 使用 Time.zone 使用 strptime 解析时间

我正在尝试使用Ruby2.0中的Time类解析日期时间。我不知道如何解析日期并在指定时区获取它。我使用Time.zone.parse解析我第一次调用Time.zone的日期并将其设置为指定时区。在下面的示例中,我设置了区域但它不影响strptime,我已经尝试执行Time.zone.parse(date)但我无法解析它如下所示的日期。Time.zone="CentralTime(US&Canada)"#=>"CentralTime(US&Canada)"irb(main):086:0>Time.strptime("08/26/201303:30PM","%m/%d/%Y%I:%M%p"

ruby - 何时在 Ruby 的 JSON 库中使用转储与生成与 to_json 以及加载与解析?

david4dev对thisquestion的回答声称存在三种使用json库将对象转换为JSON字符串的等效方法:JSON.dump(object)JSON.generate(object)object.to_json以及将JSON字符串转换为对象的两种等效方法:JSON.load(string)JSON.parse(string)但是查看源代码,它们每个似乎都非常不同,并且它们之间存在一些差异(例如,1)。它们之间有什么区别?什么时候使用哪个? 最佳答案 长话短说:一般来说:使用to_json(或等效的JSON::generate

ruby - 在 Ruby 中解析文件时跳过行的最快方法?

我试着搜索这个,但找不到太多。这似乎是以前可能被问过的问题(很多次?),所以如果是这样,我深表歉意。我想知道在Ruby中解析文件某些部分的最快方法是什么。例如,假设我知道我想要的某个特定函数的信息在第500到600行之间,比如说,一个1000行的文件。(显然这种问题是针对大文件的,我只是为了举例而使用那些较小的数字),因为我知道它不会出现在上半年,有没有一种快速的方法来忽略这些信息?目前我正在使用以下内容:whilebuffer=file_in.getsandfile_in.lineno500ifbuffer.chomp!.include?some_stringdo_func_what

ruby - 递归复制不包括文件夹匹配过滤器

我正在尝试创建一种Rake方法,将所有文件从一个位置复制到另一个位置,但排除所有属于SVN文件夹的文件夹,包括它们的文件。这是我开始使用的名为Filesystem的模块中的方法,但无法确定它是否有效或缺少的代码是什么。该模块具有以下要求:require"fileutils"方法:defFileSystem.CopyFilesWithoutSVN(source,target)#willcopyfilesfromsourcefoldertotargetfolderexcluding.svnfoldersFileUtils.cp_rDir.glob(source).reject{|entry

通过传递构造函数的 Ruby YAML 解析器

我正在开发一个应用程序,该应用程序从YAML文件获取输入,将它们解析为对象,然后让它们执行它们的操作。我现在遇到的唯一问题是YAML解析器似乎忽略了对象“初始化”方法。我指望构造函数用默认值填充YAML文件缺少的任何实例变量,并将一些东西存储在类变量中。这是一个例子:classTest@@counter=0definitialize(a,b)@a=a@b=b@a=29if@b==3@@counter+=1enddefself.how_manyp@@counterendattr_accessor:a,:bendrequire'YAML'a=Test.new(2,3)s=a.to_yaml